﻿using BonjourQuotation.ObjectModel.AccountData;
using BonjourQuotation.ObjectModel.BusinessData;
using BonjourQuotation.ObjectModel.ErrorData;
using BonjourQuotation.ObjectModel.PreferredVendorData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BonjourQuotation.DataAccess.Repositories
{
    public interface IPreferredVendorRepository : IDisposable
    {
        ErrorBInfo CreateVendorContractDetail(PreferredVendorContractsFromDetailsBData VendorContractDetailData);
        ErrorBInfo CreateVendorContract(PreferredVendorContractsBData VendorContractData);
        ManagePreferredVendorsGridBData LoadAllVendors(int PageNumber);
        ManagePreferredVendorsGridBData LoadSearchedVendors(ManagePreferredVendorsGridBData Data);
        PreferredVendorContractsBData LoadVendorContractsByID(int VendorID);
        PreferredVendorContractsFromDetailsBData LoadVendorContractDetailsByID(int VendorID, int SeasonID);
        PreferredVendorDetailsBData LoadVendorDetailsByID(int VendorID);
        PreferredVendorGroupsBData LoadVendorGroupsByID(int VendorID);
        ErrorBInfo SaveVendorContractsData(List<PreferredVendorContractsRowBData> Data, int VendorID);
        ErrorBInfo SaveVendorContractDetailsData(PreferredVendorContractsFromDetailsBData VendorContractDetailsData);
        ErrorBInfo SaveVendorDetailsData(PreferredVendorDetailsBData Data);
        ErrorBInfo UpdateVendorContractPath(int VendorID, int SeasonID, string VendorContractPath);
        Dictionary<int, string> LoadArea(int RegionID);
        Dictionary<int, string> LoadRegion(int CountryID);
        Dictionary<string, string> LoadState();
        Dictionary<int, string> LoadCity(int CountryID, string StateID);
    }
}
